Computing systems currently exist that provide a unified interface for accessing information provided by a multitude of data providers. For example, a network service can provide a unified network service application programming interface (“API”), such as a unified web service API, that exposes related data that is mastered by a multitude of other federated data providers, such as other network services operated by the same entity.
When a request is received at such an API, the requested data is obtained from the other federated data providers, combined, and provided as a single unified response to the request. Through the implementation of a unified API for accessing data in this manner, a single request can conveniently be made to obtain data from many different federated data providers. The collection of content available from the various data providers in such a system is commonly referred to as a “property graph,” or more simply, a “graph.” One example is the MICROSOFT GRAPH, provided by MICROSOFT CORPORATION, which is currently accessible at graph.microsoft.com.
Systems for providing access to such a graph frequently utilize an “owner+decorator” model, wherein a given resource or entity in the graph is mastered by a single network service and “decorated” with additional data by other federated network services operated by the same entity. For instance, one network service may be utilized to master certain information about network users. Other federated “decorator” network services can also be utilized to “decorate” the user information with additional information regarding the network users.
Systems utilizing the “owner+decorator” model for providing unified access to a property graph tend to work well with a relatively low number of “decorator” network services. The “owner+decorator” model, however, can break down when large numbers (e.g. hundreds or thousands) of “decorator” network services are utilized. Consequently, third-parties (i.e. parties other than the provider or consumer of a property graph) are typically not permitted to integrate their network services as “decorators” of data in such a graph.
As mentioned briefly above, the various network services (e.g. a “master” network service and the various “decorator” network services) utilized to implement an “owner+decorator” model for providing access to a property graph are typically operated by the same entity. Third-party providers of “decorator” network services can be very reluctant to federate their network services with such an entity due to network security concerns. For example, a third-party provider of a “decorator” network service might not want to compromise the security of its data by providing the data to the entity operating the various network services that implement the “owner+decorator” model.
It is with respect to these and other considerations that the disclosure made herein is presented.